手机QEMU实用教程 | 您所在的位置:网站首页 › virtio e1000 rtl8139 软中断 占用区别 › 手机QEMU实用教程 |
大家好啊,今天我给大家带来的是:手机QEMU实用教程!这期教程的实现原理是Termux+chroot/proot+原生QEMU(limbo emu太卡了,还容易被杀后台) 说在最前面:由于大部分手机没有KVM、且是arm模拟x86,该卡的还是卡,只是不卡的那么严重(因为没有KVM,所以运行Windows on arm照样卡,想通过同构模拟流畅的死心吧) QEMU由于是纯命令行,所以自由度比limbo emu高得多,比如挂载多个cdrom、UEFI启动、SCSI硬盘等等等等,而且最新的limbo emu的QEMU版本太老了才5.1.0 最新QEMU版本是7.2.0 高了两个大版本。 VirtIO是一个专门针对虚拟机提供驱动程序的东西,用了它就可以大大优化体验。 效果呈现: 开始准备: 教程需要的文件:https://caiyun.139.com/m/i?135Cmqw4Gn8ai 提取码:NZq3 安装Termux和VNC Viewer 一台最好获得root权限的安卓手机(如果实在无法获得root权限,可以用vmos、光速虚拟机等)(不root也可以,只是体验没有root好,而且无法从外部访问容器文件) 一些ISO安装盘或者现成的系统镜像 安装好的proot/chroot容器(安装教程:[Termux]在安卓上运行QEMU - 哔哩哔哩 (bilibili.com))如果已经有安装好的容器跳过这步 容器安装完退出Termux(点击通知栏中的Exit才算真正退出)重进,会看到生成了容器选择菜单.sh,执行此脚本即可回到容器,容器中termux文件夹即为termux默认文件夹,在手机中的/data/data/com.termux/files/home/,需要root权限才能打开。 教程开始! 首先,进入chroot/proot容器 容器主界面打开通知栏,点击Acquire wakelock常驻后台 通知栏安装QEMU 在termux文件夹下创建qemu工作文件夹(termux文件夹下方便管理文件),以放置脚本、镜像等,文件夹名字随便取 将镜像/系统安装盘文件、virtio.iso、EFI文件放入刚刚创建的文件夹 1.如果你要使用ISO安装系统,现在输入 镜像大小支持的单位K、M、G 假如我要创建名为disk.qcow2大小32G的空镜像,那么输入 注:这个镜像不会一创建就占用镜像大小的空间,最开始只占用几百KB的空间,会随着往镜像里存东西而慢慢变大 2.如果你想使用现成镜像启动系统 最好转换成qcow2格式,兼容性强提高读写速度,输入 支持互转的镜像格式:qcow2、vmdk、raw 如果要使用共享文件夹的话,现在创建一个(共享文件夹内的文件名不能有中文,文件总大小不能超过503MB,文件会在退出QEMU时同步,不会实时同步) 使用vim创建sh启动脚本 接下来,就要开始写启动脚本了! 编辑界面点击“ i ”键,进入编辑模式,输入: 机器类型,有pc和q35两个可以填,个人推荐q35。 CPU类型,以下是所有支持的选项:(第一列是架构,第二列是CPU型号,第三列是介绍) 模拟Windows的话个人推荐core2duo,其实这个区别也不大…… 开启MTTCG加速 接着给虚拟机分配CPU核心,用法: 后面的threads和sockets一般不用管它,设1即可 我要分配8核,那就是 接着是内存,内存输入纯数字,单位MB,1-4GB即可(1GB=1024MB),我分配4G,也就是4096M 接着是添加UEFI启动(如果你要运行windows7及以下版本,那么不要这个) (PS:使用此UEFI固件启动时,启动界面的windows图标会变成vmware图标) 接着是网卡,windows可用的网卡类型有rtl8139、e1000、virtio(网速:virtio>e1000>rtl8139) qemu的网络有两种模式,一种是user,一种是tap,tap需要root权限,操作以来也很麻烦,但是可以直连物理局域网(我只会用user) 那么,我要使用user模式、virtio网卡,就是 接着是显卡,可选的显卡有:(第一列显卡型号,第二列介绍) 这里说一下,大部分版本的windows没有自动打驱动的功能,如果不打显卡驱动那么画面会很卡,而且分辨率锁定800x600看着很难受,而virtio.iso的驱动只能打virtio的显卡,所以你如果想要更流畅、高清的画面那只能选virtio显卡。命令: 接着是声卡,这个会降低虚拟机的速度,但是可以获得听觉体验。可选的声卡如下:(第一列声卡型号,第二列介绍) 我试了一下hda音质最好而且兼容性最强,ac97其次 hda声卡,命令如下: 说一下,这个声音发出来不是vnc发出来的,是容器发出来的,所以如果你远程虚拟机的话声音是不会跟着远程过去的…… 然后是VNC(端口号0~65535) 然后是USB Tablet模式,可以更好控制鼠标指针 然后是共享文件夹,不想共享的就跳过:(如果设置虚拟机只读的话去掉"rw:") 首次启动不要添加此参数,否则有可能无法启动,等可以进入桌面之后再关机添加此项,共享文件夹在虚拟机内对应的磁盘为“QEMU VVFAT” 最后是挂载virtio安装盘,命令如下: 好了,基本配置已经弄完了,接着就是挂载镜像等等乱七八糟的了…… 对于想使用ISO系统安装盘安装的人: 挂载系统iso,假如我要挂载system.iso作为安装盘的话,那么输入 挂载刚刚创建的镜像 2.对于想使用现成镜像启动的人 (PS:-hda的“a”是磁盘顺序,-hdb -hdc都行,最多可以挂载到-hdd) 综上所述,我要启动同一目录下名为Windows10.qcow2的镜像,UEFI启动,有声有网,VNC地址为127.0.0.1:1,共享文件夹为同目录下的ShareLib,完整启动配置应为 按两下Esc,输入:wq!,按下回车,退出编辑模式 赋予可执行权限 命令行输入 ./run.sh 如果出现这行报错,那么是vnc端口被占用,改一个数字就可以了 报错内容这样子就启动成功啦! 但是这还没完!后面还有很长一段要走呢!我们继续吧! 打开VNC Viewer,点击右下角绿色+号 输入127.0.0.1:[端口],随便取个名 VNC界面点击CREATE,然后点击下方的CONNECT 关闭此开关,点击OK 未加密的连接简单说一下VNC的一些东西,双指可以缩放,两根手指同时按是右键,滑动屏幕移动鼠标,点击图钉可以隐藏工具栏,从屏幕上方下滑可以重新唤起工具栏,返回一下再按CANCEL也可以唤起 正在准备设备成功进入桌面!接下来就是要打驱动了,首先打开此电脑确定virtio有没有被挂载上 然后我们先安装SCSI控制器,可以大幅提高磁盘读写速度,减小开机时间和反应时间,这个比较特殊,需要用替换法安装驱动 先关机,回到termux,输入命令 编辑启动脚本,添加以下参数 重新进入虚拟机,右键开始菜单,点击Device Manager(设备管理器),可以看到有一个SCSI控制器 SCSI Controller双击它,在出现的窗口中点击Update Driver(更新驱动程序),点击第二项 安装驱动1点击Browse(浏览),选中virtio安装盘 安装驱动2点击OK,点击Next(下一步),等一小会 安装驱动3出现这个对话框就表示安装完成 安装驱动4关机,删除刚才临时创建的镜像,编辑启动配置,删除“-hda xxx.qcow2”,将刚才新写的参数中的“file=”后面的名字改为系统镜像,保存退出,重进系统。 效果接下来安装其它驱动,这些驱动用virtio的一键安装就行了,安装程序在这里:(32位系统用下面那个virtio-win-gt-x86.msi) 驱动安装程序位置安装程序首页这里就是傻瓜式的一路Next就行了,就不讲了 成功安装网络驱动安装完成安装完就可以调分辨率了 分辨率调节到此,你已经可以正常使用虚拟机了! 更高级的玩法: 如果觉得镜像大小不够用了,可以扩容 如果我要将disk.qcow2扩容10G,命令: 但是进入系统,你会发现容量并没有扩大 首先右键开始菜单,选择Disk Management(磁盘管理),可以看到有10G灰色的空间 磁盘管理右键C盘已用空间,选择Extend Volume,会弹出一个窗口,一路下一步即可 现在已经扩容完了! 2.新建磁盘 挂载命令和前面挂载SCSI磁盘的命令一样,只要把id最后的disk0改为1,以此类推 然后进入磁盘管理,初始化为GPT或者MBR磁盘都可以,然后新建简单卷,自己摸索摸索,这里就不放图了。 本期教程到此结束!谢谢阅读 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |